package ln.javatest.day17.demo01;
/*
Function接口中的默认方法andThen：用来进行组合操作
需求：
    把String类型的“123”，转换为Integer类型，把转换后的结果加10
    把增加之后的Integer类型的数据，转换为string类型
分析：
    转换了两次
    第一次是把String类型转换为Integer类型
        所以我们可以使用Function<String,Integer> fun1
    第二次是把Integer类型转换为String类型
        所以我们可以使用Function<Integer,String> fun2
    我们可以使用andThen方法，把两次转换组合在一起使用
*/

import java.util.function.Function;

public class Demo02Function_andThen {
    /*
    定义一个方法
    参数是一个字符串类型的整数和两个Function接口
    */
    public static void change(String s, Function<String,Integer> fun1,Function<Integer,String> fun2){
        String ss = fun1.andThen(fun2).apply(s);
        System.out.println(ss);
    }

    public static void main(String[] args) {
        //定义一个字符串类型的整数
        String s = "123";
        change(s,s1->Integer.parseInt(s1),s1->s1+"");
    }
}
